# -*- coding: utf-8 -*-
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# AmosERP odoo11.0
# QQ:35350428
# 邮件:35350428@qq.com
# 手机：13584935775
# 作者：'odoo'
# 公司网址： www.odoo.pw  www.100china.cn www.amoserp.com
# Copyright 昆山一百计算机有限公司 2012-2020 Amos
# 日期：2019/11/14
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
from odoo import api, fields, models, SUPERUSER_ID, tools, _
from odoo.exceptions import AccessError, UserError, ValidationError
from ding_client import Client


class ding_message_template(models.Model):
    _name = 'ding.message.template'
    _description = u"钉钉消息模板"

    name = fields.Char(string=u'名称')
    code = fields.Char(string=u'编号')
    model_id = fields.Many2one('ir.model', u'模块')
    model = fields.Char(u'对象', related='model_id.model', store=True, readonly=True)
    body_html = fields.Text(u'模板', sanitize=False)
    active = fields.Boolean(default=True, string=u'有效')

    @api.onchange('model_id')
    def onchange_model_id(self):
        if self.model_id:
            self.model = self.model_id.model
        else:
            self.model = False


class ding_message_template_rule(models.Model):
    _name = 'ding.message.template.rule'
    _description = u"钉钉消息模板ID"

    name = fields.Char(string=u'名称')
    code = fields.Char(string=u'编号')
    model = fields.Char(string=u'对象')
    active = fields.Boolean(default=True, string=u'有效')
    body_html = fields.Text(u'模板', sanitize=False)

    def but_add_template(self):
        records = self.env['ding.message.template'].search([('model', '=', self.model), ('code', '=', self.code)],
                                                           limit=1)
        if records:
            pass
        else:
            model = self.env['ir.model'].search([('model', '=', self.model)], limit=1)
            if model:
                values = {
                    'name': self.name,
                    'code': self.code,
                    'model_id': model.id,
                    'model': model.model,
                    'body_html': self.body_html.strip(),
                }
                self.env['ding.message.template'].create(values)

        arr = {'A':'-通过','B':'-拒绝'}

        for line in arr:
            # print(arr[line])
            records = self.env['ding.message.template'].search(
                [('model', '=', self.model), ('code', '=', line + self.code)],
                limit=1)
            if records:
                pass
            else:
                model = self.env['ir.model'].search([('model', '=', self.model)], limit=1)
                if model:
                    values = {
                        'name': arr[line]+self.name,
                        'code': line + self.code,
                        'model_id': model.id,
                        'model': model.model,
                        'body_html': self.body_html.strip(),
                    }
                    self.env['ding.message.template'].create(values)
